<script setup lang="ts">

defineOptions({
  name: 'svgIcon'
})

defineProps({
  prefix: {
    type: String,
    default: '#icon-'
  },
  name: {
    required: true,
    type: String
  },
  color: {
    type: String,
    default: ''
  },
  width: {
    type: String,
    default: '16px'
  },
  height: {
    type: String,
    default: '16px'
  }
})

</script>

<template>
  <!--  svg 图标外层容器节点，内部需要与 use 结合使用  -->
  <svg :style="{width, height}">
    <!--   xlink:href 执行哪一个图标，属性值必须是 #icon-图标的名字   -->
    <!--   fill 可以设置颜色   -->
    <use :xlink:href="prefix + name" :fill="color"></use>
  </svg>
</template>